package com.stars.system.fitness.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 健身计划对象 stars_fitness_plan
 * 
 * @author shuaibizhe
 * @date 2022-08-14
 */
public class FitnessPlanVO extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private String planId;

    /** 计划周期（字典的日周月年） */
    @Excel(name = "计划周期", readConverterExp = "字典的日周月年")
    private String planCycle;

    /** 周期长度（几个周期） */
    @Excel(name = "周期长度", readConverterExp = "几个周期")
    private Long cycleNum;

    /** 计划开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planBeg;

    /** 计划结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planEnd;

    /** 计划内容 */
    @Excel(name = "计划内容")
    private Object planInfo;

    /** 计划内容描述 */
    private String planInfoDesc;

    /** 创建者 */
    private Long createUser;

    /** 完成度（百分比） */
    @Excel(name = "完成度", readConverterExp = "百分比")
    private String planFinished;

    /** 优先级（数字越大优先级越高） */
    @Excel(name = "优先级")
    private int planPriority;

    public void setPlanId(String planId)
    {
        this.planId = planId;
    }

    public String getPlanId()
    {
        return planId;
    }
    public void setPlanCycle(String planCycle) 
    {
        this.planCycle = planCycle;
    }

    public String getPlanCycle() 
    {
        return planCycle;
    }
    public void setCycleNum(Long cycleNum) 
    {
        this.cycleNum = cycleNum;
    }

    public Long getCycleNum() 
    {
        return cycleNum;
    }
    public void setPlanBeg(Date planBeg) 
    {
        this.planBeg = planBeg;
    }

    public Date getPlanBeg() 
    {
        return planBeg;
    }
    public void setPlanEnd(Date planEnd) 
    {
        this.planEnd = planEnd;
    }

    public Date getPlanEnd() 
    {
        return planEnd;
    }
    public void setPlanInfo(Object planInfo)
    {
        this.planInfo = planInfo;
    }

    public Object getPlanInfo()
    {
        return planInfo;
    }
    public void setCreateUser(Long createUser) 
    {
        this.createUser = createUser;
    }

    public Long getCreateUser() 
    {
        return createUser;
    }
    public void setPlanFinished(String planFinished) 
    {
        this.planFinished = planFinished;
    }

    public String getPlanFinished() 
    {
        return planFinished;
    }

    public int getPlanPriority() {
        return planPriority;
    }

    public void setPlanPriority(int planPriority) {
        this.planPriority = planPriority;
    }

    public String getPlanInfoDesc() {
        return planInfoDesc;
    }

    public void setPlanInfoDesc(String planInfoDesc) {
        this.planInfoDesc = planInfoDesc;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("planId", getPlanId())
            .append("planCycle", getPlanCycle())
            .append("cycleNum", getCycleNum())
            .append("planBeg", getPlanBeg())
            .append("planEnd", getPlanEnd())
            .append("planInfo", getPlanInfo())
            .append("createUser", getCreateUser())
            .append("createTime", getCreateTime())
            .append("planFinished", getPlanFinished())
            .append("planPriority", getPlanPriority())
            .toString();
    }
}
